#!/usr/bin/python
# -*- coding: utf-8 -*-

# QVS-GTK - Quanto Vinco Se..... 2.0
# Programma per calcolare la vincita al lotto
#
# qvslib2.py è Copyright (C) 2009-2010 di Borgia Michele (Urturino) urturino+qvs@gmail.com
#
# Questo file è parte di QVS-GTK.
#
# QVS-GTK è un software libero; è possibile ridistribuirlo
# e/o modificarlo secondo i termini della GNU General Public License
# come pubblicato dalla Free Software Foundation; sia utilizzando
# la versione 3 della Licenza, oppure (a propria scelta) una qualunque versione successiva.
#
# QVS-GTK è distribuito con l'auspicio di essere utile,
# ma SENZA ALCUNA GARANZIA; senza nemmeno l'implicita garanzia di COMMERCIABILITÀ
# oppure di APPROPRIATEZZA PER UN PARTICOLARE SCOPO.
# Si veda la GNU General Public License per avere ulteriori dettagli.
#
# Si dovrebbe aver ricevuto una copia della GNU General Public License
# insieme a QVS-GTK; in caso contrario, si scriva a Free Software
# Foundation, Inc., 59 Temple Place,Suite 330, Boston, MA  02111-1307  USA

#Benvenuti in un mondo magico, un modulo dove risiedono le funzioni che fanno davvero funzionare QVS-GTK


def formattazione(numero): #questa funzione trasforma un 4562332.45 in 4'562'332.45
    n=float(len(str(int(float(numero)))))/3         #n è il numero di volte in cui entra il 3 nell intero del numero
    volte=int(n)                                    #la parte intera mi dice quanti ' inserirò
    conta=(int(str(int((n-int(float(n)))*100))[0])) #il primo numero della parte decimale di dice da dove iniziare a contare
    if conta==6:    # se è un 6
        conta=1     #conto da 1
    elif conta==3:  #se è 3
        conta=2     #conto da 2
    elif conta==0:  #se è 0
        volte=volte-1   #mi va bene 0, ma volte va diminuito di 1
    ris=""
    numero="%.2f" % float(numero)
    for i in range(len(numero)):    #a questo punto inizio a contare, ogni 3 metto ', fino a quando volte non è uguale a 0
        if conta==3 and volte<>0:
            conta=1
            volte=volte-1
            ris=ris+"'"+numero[i]
        else:
            ris=ris+numero[i]
            conta=conta+1
    return ris

def arrotonda(numero):  #questa funzione arrotonda
    return float("%.2f" % numero)


def controllo_multiplo(importo,tipo): #questa funzione controlla se il numero è multiplo di un altro.
    if type(importo)==type([]): #Se il tipo di variabile è una lista, controllo tutti i suoi elementi
        for i in range(len(importo)): #per tutti gli elementi della lista
            if str(importo[i] / tipo)[-1] <> "0": #se ne trovi uno che non è multiplo
                return "false"                      #esci con false
        return "true"               #altrimenti uscirai con true
    else:
        return "true" if str(importo / tipo)[-1] == "0" else "false"


def tassalo(numero):    #spero di non dover spiegare questa funzione, ricordo che tutte le vincite vanno tassate del 6%
    return numero-(numero*6.00/100.00)
